/*
 * Copyright (C) 2010 TopCoder Inc., All Rights Reserved.
 */
package com.hercules.xre.protocol.testing.handlers;

import com.topcoder.util.errorhandling.BaseException;
import com.topcoder.util.errorhandling.ExceptionData;

/**
 * Represents exception that signals that there is error in screenshot capturing method. It is thrown by implementation
 * of {@link ScreenshotCapturer}.
 *
 * @author bramandia, 7realm
 * @version 1.0
 */
public class ScreenshotCapturerException extends BaseException {
    /** Serial version UID. */
    private static final long serialVersionUID = 2803836477615474435L;

    /**
     * Creates the exception taking the error message.
     *
     * @param message the detailed error message of this exception
     */
    public ScreenshotCapturerException(String message) {
        super(message);
    }

    /**
     * Creates the exception taking both error message and inner cause.
     *
     * @param message the detailed error message of this exception
     * @param cause the inner cause of this exception
     */
    public ScreenshotCapturerException(String message, Throwable cause) {
        super(message, cause);
    }

    /**
     * Constructs the exception taking both a message and the additional data to attach to the exception.
     *
     * @param message useful message containing a description of why the exception was thrown - may be null
     * @param data the additional data to attach to the exception - if this is null, a new ExceptionData() is used
     * instead
     */
    public ScreenshotCapturerException(String message, ExceptionData data) {
        super(message, data);
    }

    /**
     * Constructor which takes a message, a additional data and a cause detailing why the exception occurs.
     *
     * @param message useful message containing a description of why the exception was thrown - may be null
     * @param cause the initial throwable reason which triggered this exception to be thrown - may be null
     * @param data the additional data to attach to the exception - if this is null, a new ExceptionData() is used
     * instead
     */
    public ScreenshotCapturerException(String message, Throwable cause, ExceptionData data) {
        super(message, cause, data);
    }
}